import axios from '@/libs/api.request'
export const queryCustomForCustGrid = (data) => {
    return axios.request({
        url: '/customs/customerManagement/queryForCustGrid',
        data: data,
        method: 'post'
    })
}
export const queryCustom = (data) => {
    return axios.request({
        url: '/customs/customerManagement/query',
        data: data,
        method: 'post'
    })
}
export const queryCustomById = ({ id }) => {
    return axios.request({
        url: '/customs/customerManagement/queryById',
        params: {
            id
        },
        method: 'post'
    })
}

/**
 * data数据：
 * custName,  // 企业名称
 *  custLocation, // 企业所在地
 *  customsCode,  // 海关编号
 *  custType,  // 企业类型
 *  socialCreditCode, // 统一社会信用代码
 *  ciqCode,  // 检验检疫编码
 *  copCode,  // 组织机构代码
 *  addressCn, // 企业地址
 *  custNameEn, // 企业英文名称
 *  addressEn,  // 企业英文地址
 *  phone,     // 电话
 *  fax,       // 传真
 *  depositBank,  // 开户行
 *  bankAccount  // 银行账号
 *  quoteList  // 销售报价
 *  unitList  // 经营单位
 */
export const addCustom = (data) => {
    return axios.request({
        url: '/customs/customerManagement/addCustom',
        data,
        method: 'post'
    })
}
/**
 * data数据：
 *  custId,  // 客户id
 *  custName,  // 企业名称
 *  custLocation, // 企业所在地
 *  customsCode,  // 海关编号
 *  custType,  // 企业类型
 *  socialCreditCode, // 统一社会信用代码
 *  ciqCode,  // 检验检疫编码
 *  copCode,  // 组织机构代码
 *  addressCn, // 企业地址
 *  custNameEn, // 企业英文名称
 *  addressEn,  // 企业英文地址
 *  phone,     // 电话
 *  fax,       // 传真
 *  depositBank,  // 开户行
 *  bankAccount  // 银行账号
 *  quoteList  // 销售报价
 *  unitList  // 经营单位
 */
export const editCustom = (data) => {
    return axios.request({
        url: '/customs/customerManagement/updateCustom',
        data,
        method: 'post'
    })
}
export const delCustomById = ({ id }) => {
    return axios.request({
        url: '/customs/customerManagement/deleteById',
        params: {
            id
        },
        method: 'post'
    })
}
export const deleteCustSignature = (data) => {
    return axios.request({
        url: '/customs/customerManagement/deleteCustSignature',
        params: data,
        method: 'post'
    })
}
export const uploadCustFile = (file) => {
    return axios.request({
        url: '/customs/customerManagement/uploadCustFile',
        data: file,
        method: 'post'
    })
}
export const checkCode = (data) => {
    return axios.request({
        url: '/customs/customerManagement/checkCode',
        data: data,
        method: 'post'
    })
}
export const queryByCustomsCode = (data) => {
    return axios.request({
        url: '/customs/customerManagement/queryByKeyWord',
        data: data,
        method: 'post'
    })
}
export const queryByKeyWord = (data) => {
    return axios.request({
        url: '/customs/customerManagement/queryByKeyWord',
        data: data,
        method: 'post'
    })
}

/**
 *  模糊查询申报单位数据字典
 */
export function queryAgentByKeyWord (params) {
    return axios.request({
        method: 'get',
        url: '/customs/agent/queryAgentByKeyWord',
        params
    })
}

/**
 * 申报单位 根据名称模糊查询
 * @params {String} agentName 申报单位名称
 * @params {String} creditCode  统一社会信用代码
 * @params {String} customsCode 海关代码
 * @params {Number} pageNum 开始页码
 * @params {Number} pageSize 一次返回多少数据
 */
export function queryAgentByName ({ agentName, creditCode = '', customsCode = '', pageNum = 1, pageSize = 40 }) {
    return axios.request({
        url: `/customs/agent/queryByName`,
        data: {
            agentName, creditCode, customsCode, pageNum, pageSize
        },
        method: 'post'
    })
}

/**
 * 根据参数查询经营单位
 * @param {String} enterCode 请求代码（海关编码/统一信用代码/检验检疫代码/名称）
 * @param {String} queryFlag 请求标志（海关编码:0，统一信用代码:1，检验检疫代码:4，名称:3）
 */
export function queryOperatorByItem ({ enterCode, queryFlag }) {
    return axios.request({
        url: '/customs/operator/queryOperatorByItem',
        data: {
            enterCode,
            queryFlag
        },
        method: 'post'
    })
}

/**
 * 根据参数查询生产销售单位
 * @param {String} enterCode 请求代码（海关编码/统一信用代码/检验检疫代码/名称）
 * @param {String} queryFlag 请求标志（海关编码:0，统一信用代码:1，检验检疫代码:4，名称:3）
 */
export function queryOperatorForUnit ({ enterCode, queryFlag }) {
    return axios.request({
        url: '/customs/operator/queryOperatorForUnit',
        data: {
            enterCode,
            queryFlag
        },
        method: 'post'
    })
}

/**
 * 模糊查询境外收发货人
 * @param {Object} data 查询参数
 */
export function fuzzyQueryOverseas (data) {
    return axios.request({
        url: '/customs/overseas/fuzzyQuery',
        data,
        method: 'post'
    })
}

/**
 * 按条件查询电子委托协议
 */
export function queryOrderPtc (data) {
    return axios.request({
        url: '/customs/op/queryByCondition',
        data,
        method: 'post'
    })
}

/**
 * 根据申报单位更新电子委托协议
 */
export function updateOrderPtc (data) {
    return axios.request({
        url: '/customs/op/postPtcByItem',
        method: 'post',
        data
    })
}

/**
 * 获取代理委托协议号
 * @param {Number} declareId 报关单id
 * @param {String} cusCiqNo  统一编号
 */
export function getConsignNo (declareId, cusCiqNo) {
    return axios.request({
        url: '/customs/op/getConsignNo',
        method: 'post',
        params: {
            declareId, cusCiqNo
        }
    })
}
